             package com.java.diagnostics.visualizer.gc.realtime.parser;
             
             import com.java.diagnostics.visualizer.data.SourceData;
             import com.java.diagnostics.visualizer.exceptions.GCAndMemoryVisualizerException;
             import com.java.diagnostics.visualizer.impl.factory.LogFactory;
             import com.java.diagnostics.visualizer.parser.vgc.VGCParser;
             import com.java.diagnostics.visualizer.properties.OutputProperties;
             import com.java.diagnostics.visualizer.sources.Source;
             import java.util.logging.Logger;
             
             public class RealTimeParser
               implements VGCParser
             {
               private static final Logger TRACE = LogFactory.getTrace(RealTimeParser.class);
               
               private final String className = getClass().getName();
               
               private static final String QUANTUM_ELEMENT = "<quantum";
               
               public boolean isParseableSource(Source source)
                 throws GCAndMemoryVisualizerException
               {
                 TRACE.entering(this.className, "isParseableSource");
                 
                 if (source.containsWithinReasonableDistanceOfStart(new String[] {
                   "-Metronome", "<quantum" })) {}
                 boolean answer = 
                 
                   !source.containsWithinReasonableDistanceOfStart(new String[] {
                   "cycle start", 
                   "trigger start", 
                   "exclusiveaccess", 
                   "gcthreadpriority", 
                   "synchronousgcpriority" });
                 TRACE.exiting(this.className, "isParseableSource");
                 return answer;
               }
               
               public SourceData parse(Source source, OutputProperties properties)
                 throws GCAndMemoryVisualizerException
               {
                 TRACE.entering(this.className, "parse");
                 InstanceRealTimeParser parser = new InstanceRealTimeParser();
                 SourceData data = parser.parse(source, properties);
                 
                 TRACE.exiting(this.className, "parse");
                 return data;
               }
             }


